global root_dir = "`1'"
include "$root_dir/code/config/config.do"

cap noi log using ${log_dir}/Table_A41_citations.log, replace name(tabl)

capture noi {
	
	* ------------------------------------ *
	* Table citations					   *
	* ------------------------------------ *

	qui do ${code_dir}/config/tabletools.do
	
	*overwriting the config
	global depvar "cbp75auto95"
	global depvarss "auto95"

	use ${final_dir}/regression_dataset_from1970_tfacit1.dta, clear
	tab year, gen(YY_)

	* merge bounded citations 
	mmerge BvD using ${final_dir}/bvd_list_regfirms_auto95.dta, unmatched(none)
	mmerge BvD year using ${final_dir}/auto95_citbound.dta, unmatched(master) ukeep(BvD year cbp*)
	replace ${depvar} = 0 if missing(${depvar})

	estimates clear
	clonevar LSW = lswMPm_1995_a
	clonevar HSW = hswMPm_1995_a
	clonevar VAEMP = vaempMPm_1995_a
	clonevar GDPGAP = lngdpgap_1995_a
	clonevar GDPPC = gdppcMPm_1995_a
	clonevar spilloversown = spill${depvarss}${ttt}_1995_a
	clonevar spilloversother = spillN${depvarss}${ttt}_1995_a
	clonevar spilloversownzero = spill${depvarss}${ttt}_1995_a0
	clonevar spilloversotherzero = spillN${depvarss}${ttt}_1995_a0
	clonevar stockown = k${depvarss}_${ttt} 
	clonevar stockownzero = k${depvarss}_${ttt}0  
	clonevar stockother = kNOT_${depvarss}_${ttt} 
	clonevar stockotherzero = kNOT_${depvarss}_${ttt}0
	bys lse_id : egen _total_${depvarss}_${ttt}_1995 = sum(${depvarss}_${ttt}) if year>=1995+2 & year <= 2009+2
	bys lse_id : egen total_${depvarss}_${ttt}_1995 = max(_total_${depvarss}_${ttt}_1995)
	drop _total_${depvarss}_${ttt}_1995
	sort lse_id year
	egen yearctry = group(year country_shr_1995) if year <= 2009
	egen yearindustry = group(year industry) if year <= 2009
	egen yearctryindustry = group(year industry country_shr_1995) if year <= 2009

	*1) F + IY
	ppmlhdfe F2.${depvar}_${ttt} LSW HSW GDPGAP stockown stockownzero stockother stockotherzero stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id) absorb(lse_id yearindustry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\no"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_1

	*2) VAEMP | F + IY
	ppmlhdfe F2.${depvar}_${ttt} LSW HSW GDPGAP VAEMP stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\no"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_2

	*3) GDPPC | F + IY
	ppmlhdfe F2.${depvar}_${ttt} LSW HSW GDPGAP GDPPC stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\no"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_3	

	*4) F + IY + CY
	ppmlhdfe F2.${depvar}_${ttt} LSW HSW GDPGAP stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id) absorb(lse_id yearindustry yearctry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\yes"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_4

	*5) VAEMP | F + IY + CY
	ppmlhdfe F2.${depvar}_${ttt} LSW HSW GDPGAP VAEMP stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id) absorb(lse_id yearindustry yearctry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\yes"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_5

	*6) GDPPC | F + IY + CY
	ppmlhdfe F2.${depvar}_${ttt} LSW HSW GDPGAP GDPPC stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id) absorb(lse_id yearindustry yearctry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\yes"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_6	

	drop LSW HSW GDPGAP GDPPC VAEMP

	clonevar GDPPC_foreign = gdppcMPm_shr4_foreign_1995_a
	clonevar VAEMP_foreign = vaempMPm_shr4_foreign_1995_a
	clonevar GDPgap_foreign = lngdpgap_shr_foreign_1995_a
	clonevar LSW_foreign = lswMPm_shr4_foreign_1995_a
	clonevar HSW_foreign = hswMPm_shr4_foreign_1995_a

	*7) F + IY + CY | Foreign
	ppmlhdfe F2.${depvar}_${ttt} LSW_foreign HSW_foreign GDPgap_foreign stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\yes"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_7

	*8) VAEMP | F + IY + CY | Foreign
	ppmlhdfe F2.${depvar}_${ttt} LSW_foreign HSW_foreign GDPgap_foreign VAEMP_foreign stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\yes"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_8

	*9) GDPPC | F + IY + CY | Foreign
	ppmlhdfe F2.${depvar}_${ttt} LSW_foreign HSW_foreign GDPgap_foreign GDPPC_foreign stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & maxweight_1995 < 1 & missing_weights_1995==0 & missing_spill_weights_1995 == 0 & total_${depvarss}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
	estadd local f "\yes"
	estadd local iy "\yes"
	estadd local cy "\yes"
	estadd local has_stockspill "\yes"
	estadd local obs "{\num{`e(N)'}}"
	estadd local firms "{\num{`e(N_clust)'}}"
	estimates store col_9	

	drop LSW_foreign HSW_foreign GDPgap_foreign GDPPC_foreign VAEMP_foreign

	drop stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero

	setlabels

	dhoztab * using ${tab_dir}/appendix/Table_A41_citations.tex, b(%10.2f) se(%10.2f) nogaps replace numbers nonotes nolines showdepvarinfo nomtitles sfmt(a1) scalars("has_stockspill \noalign{\medskip} Stocks and spillovers" "f Firm fixed effects" "iy Industry \stimes year fixed effects" "cy Country \stimes year fixed effects" "obs \noalign{\medskip} Observations"  "firms Number of firms") label mgroups("Domestic and foreign" "Foreign", pattern(1 0 0 0 0 0 1 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}) erepeat(\cmidrule(lr){@span})) drop(*zero _cons stock* spill* ) noobs rename(LSW_foreign LSW HSW_foreign HSW GDPgap_foreign GDPGAP VAEMP_foreign VAEMP GDPPC_foreign GDPPC) ///
		order(LSW HSW GDPGAP VAEMP GDPPC stockown stockother spilloversown spilloversother) /// 
		depvar("Citations-weighted auto95") ///
		notes("This table weighs patents by citations. We add to each auto95 patent the number of citations received within 5 years normalized by technological field, patent office, and year of application, and winsorized at the 75th percentile. All columns include firm and industry-year fixed effects. Columns 4--9 add country-year fixed effects. In Columns 7--9 the macroeconomic variables are the normalized foreign variables defined in the text. Standard errors are clustered at the firm-level and reported in parentheses.")
	*again, brackets do work correctly
}
if _rc == 0 {
    display "Execution finished successfully."
}
else {
    display "Execution finished with errors."
}

cap log close tabl